home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 240 (DVD) / Issue 240 - February 2008 - DPCS0208DVD.ISO / Extras / NetObjects Fusion / NOF10.exe / data1.cab / Program_Executable_Files / NetObjects_System / store.js < prev    next >
Encoding:
Text File  |  2007-04-11  |  4.4 KB  |  146 lines

  1. function NOF_ECM_OnStoreAction( destFormName, srcFormName, action ){
  2.   //determine the action requested and set the destForm
  3.   var destForm      = null;
  4.   var varsPrefix    = null;
  5.  
  6.   NOF_SubmitHandler_OnInit(destFormName, srcFormName, action);
  7.     
  8.   if ( action == "AddToCart"){
  9.     destForm      = document.forms[destFormName];
  10.     varsPrefix    = "ADDTOC_";
  11.   }else if ( action == "Buy"){
  12.     destForm = document.forms[destFormName];
  13.     varsPrefix    = "BUY_";
  14.   }else if ( action == "ViewCart"){
  15.     destForm = document.forms[destFormName];
  16.     if (destForm != null )
  17.       NOF_StoreRPC(destForm);
  18.     return;
  19.   }else if ( action == "Checkout"){
  20.     destForm = document.forms[destFormName];
  21.     if (destForm != null )
  22.       NOF_StoreRPC(destForm);
  23.     return;
  24.   }else{
  25.     return;
  26.   }
  27.  
  28.   if ( ( typeof destForm == 'object' ) && destForm != null ) {
  29.     var srcForm = this.document.forms[srcFormName];
  30.  
  31.     if ( ( typeof srcForm == 'object' ) && srcForm != null ){
  32.  
  33.       for (i=0; i<destForm.elements.length; i++)
  34.         destForm.elements[i].value = "";
  35.  
  36.       for (i=0; i<srcForm.elements.length; i++){
  37.         var srcName = srcForm.elements[i].name;
  38.         var dstName = NOF_getDstName(srcName, varsPrefix);
  39.         if (dstName != null) {
  40.           var srcProp = srcForm.elements[i];
  41.  
  42.           if ( ( typeof srcProp == 'object' ) && srcProp != null ) {
  43.             if (dstName == 'actionurl') {
  44.               if (srcProp.value) {
  45.                 destForm.action = srcProp.value;
  46.                 destForm[dstName].value = "";
  47.               }
  48.             } else {
  49.               var elementType = NOF_getElementType(srcProp);
  50.               if (elementType.indexOf('select',0) == 0) {
  51.                 if (srcProp.options && srcProp.options.length > 0)
  52.                   for (var j=0;j<srcProp.options.length;j++) {
  53.                     if (srcProp.options[j].selected == true) {
  54.                       NOF_OptionsHandler_OnSetValue(destForm,dstName, srcName, srcProp.options[j].value);
  55.                     }
  56.                   }
  57.               } else {
  58.                 if (srcProp.value) {
  59.                   NOF_setElementValue(destForm,dstName, srcProp.value);
  60.                 }
  61.               }
  62.             }
  63.           }
  64.         }
  65.       }
  66.       NOF_SubmitHandler_OnFinalize(destForm, srcForm);
  67.     NOF_StoreRPC(destForm);
  68.     }
  69.   }
  70. }
  71.  
  72. function NOF_StoreRPC( destForm )
  73. {
  74.   var wnd =  null;
  75.   if (destForm.target != null && destForm.target.length > 0)
  76.     wnd = window.open('', destForm.target, 'width=655,height=524,location=1,menubar=0,resizable=1,scrollbars=1,status=1,toolbar=0');
  77.   destForm.submit();
  78.   if (wnd)
  79.     wnd.focus();
  80. }
  81.  
  82. function NOF_getDstName (srcName, varsPrefix) {
  83.   var prefix = "";
  84.   if (srcName.indexOf (varsPrefix) == 0) {
  85.     prefix = varsPrefix;
  86.   } else if (srcName.indexOf ("SHARED_") == 0) {
  87.     prefix = "SHARED_";
  88.   } else if (srcName.indexOf("BUY_") == 0 || srcName.indexOf("ADDTOC_") == 0 || 
  89.            srcName.indexOf("VIEW_") == 0 || srcName.indexOf("CHECKOUT_") == 0) {
  90.     return null;
  91.   }
  92.   
  93.   return srcName.substr(prefix.length);
  94. }
  95.  
  96. function NOF_setElementValue (form, elementName, value)
  97. {
  98.   for (var i=0; i<form.elements.length; i++) {
  99.     if ( form.elements[i].name == elementName ) {
  100.       form.elements[i].value = value;
  101.       break;
  102.     }
  103.   }
  104. }
  105.  
  106. function NOF_getElementType (element) {
  107.   if (element != null) {
  108.     var elementType = element.type;
  109.     if (elementType != null) {
  110.       elementType = elementType.toLowerCase();
  111.     } else {
  112.       if (element.length > 0) {
  113.         elementType = element[0].type;
  114.       }
  115.       if (elementType == null) {
  116.         elementType = element.nodeName;
  117.       }
  118.     }
  119.   } else {
  120.     elementType = null;
  121.   }
  122.   
  123.   return elementType.toLowerCase();
  124. }  
  125.  
  126. //F onInit
  127. function NOF_SubmitHandler_OnInit(destFormName, srcFormName, action)
  128. {
  129.   if (typeof(TP_NOF_SubmitHandler_OnInit) == 'function')
  130.     TP_NOF_SubmitHandler_OnInit( destFormName, srcFormName, action);
  131. }
  132.  
  133. //F OnSetValue
  134. function NOF_OptionsHandler_OnSetValue(destForm,dstName, name, value)
  135. {
  136.   if (typeof(TP_NOF_OptionsHandler_OnSetValue) == 'function')
  137.     TP_NOF_OptionsHandler_OnSetValue( destForm,dstName, name, value);
  138.   else  
  139.     NOF_setElementValue(destForm,dstName, value);  
  140. }
  141. function NOF_SubmitHandler_OnFinalize(destForm, srcForm)
  142. {
  143.   if (typeof(TP_NOF_SubmitHandler_OnFinalize) == 'function')
  144.     TP_NOF_SubmitHandler_OnFinalize(destForm, srcForm);
  145.  
  146. }